package com.yxx.business.mapper;

import java.util.List;

import com.yxx.business.entity.TbConstructionPhaseDo;
import com.yxx.business.entity.TbConstructionPhaseQueryDto;
import com.yxx.common.core.mapper.BaseMapperPlus;

/**
 * 施工阶段Mapper接口
 *
 * @author yxx
 * @date 2025-08-16
 */
public interface TbConstructionPhaseMapper extends BaseMapperPlus<TbConstructionPhaseDo> {

    /**
     * 查询施工阶段列表
     *
     * @param tbConstructionPhaseQueryDto 施工阶段查询实体
     * @return 施工阶段集合
     */
    public List<TbConstructionPhaseDo> selectTbConstructionPhaseList(TbConstructionPhaseQueryDto tbConstructionPhaseQueryDto);

    /**
     * 查询施工阶段
     *
     * @param constructionId 施工阶段主键
     * @return 施工阶段单个
     */
    public TbConstructionPhaseDo selectTbConstructionPhaseByConstructionId(Long constructionId);

    /**
     * 新增施工阶段
     *
     * @param tbConstructionPhaseDo 施工阶段数据库实体
     * @return 结果
     */
    public int insertTbConstructionPhase(TbConstructionPhaseDo tbConstructionPhaseDo);

    /**
     * 修改施工阶段
     *
     * @param tbConstructionPhaseDo 施工阶段数据库实体
     * @return 结果
     */
    public int updateTbConstructionPhase(TbConstructionPhaseDo tbConstructionPhaseDo);

    /**
     * 删除施工阶段
     *
     * @param constructionId 施工阶段主键
     * @return 结果
     */
    public int deleteTbConstructionPhaseByConstructionId(Long constructionId);

    /**
     * 批量删除施工阶段
     *
     * @param constructionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbConstructionPhaseByConstructionIds(List<Long> constructionIds);
}
